package com.titaniue.java1;

import java.net.InetAddress;
import java.net.UnknownHostException;

/**
 * @program: JavaSenior
 * @description:
 *
 * 一，网络编程中的两个主要问题：
 * 1.如何准确定位网络上一台或多台主机：定位主机的特定应用
 * 2.找到主机后如何可靠有效的进行数据传输
 *
 *
 * 二：网络编程中的两个要素:
 * 1.对应问题一：IP和端口号
 * 2.网络通信协议：提供网络通信协议：TCP/IP参考模型（应用层，传送层，网络层，物理+数据链路）
 *
 *
 *
 * 三：通信要素：ip+端口号
 * 1.ip：唯一的标识internet 上的计算机
 * 2.在java中使用InetAddresss类代表Ip
 * 3.Ip分类：Ipv4 和Ipv6; 万维网 和局域网
 * 4.域名 www.baidu.com www.taobao.com
 * 5.本地回路地址：localhost  127.0.0.1
 * 6: 如何实例化InetAddress 两个方法：getByName(String host) / getLocalHost()
 *     两个常用方法：getHostName() / getHostAddress();
 * 7:端口号： 正在计算机上运行的程序
 *   要求：不同的进程有不同的端口号
 *   范围： 被规定为一个16位的整数 0~65535
 * 8:端口与Ip地址的组合的打我一个网络套接字：socket
 * @author: renfei.huang
 * @create: 2021-10-18 22:20
 */
public class InetAddressTest {


    public static void main(String[] args) {


        try {
            //File file = new File("hello.txt");
            InetAddress int1 = InetAddress.getByName("192.168.1.2");
            System.out.println(int1);


            InetAddress int2 = InetAddress.getByName("www.baidu.com");
            System.out.println(int2);


            InetAddress int3 = InetAddress.getByName("127.0.0.0");
            System.out.println(int3);

            //获取本机ip
            InetAddress int4 = InetAddress.getLocalHost();
            System.out.println(int4);



            //getHostName()
            System.out.println(int2.getHostName());
            //getHostAddress();
            System.out.println(int2.getHostAddress());

        } catch (UnknownHostException e) {
            e.printStackTrace();
        }

    }

}
